/*
 *  $Id: Scavenger.cs 1004 2010-05-03 11:50:53Z thenn.erannor $
 *	This file is a part of Ragima CCG.
 *	(C) 2008-2009 Ragima development group.
 *
 *	Licensed under the terms of the GNU GPL License version 2.
 *
 */

namespace Ragima.Affects {
    /// <summary>
    /// Эффект: падальщик
    /// Когда союзное существо попадает в могильник, падальщик восстанавливает 1 здоровья, или если оно полное, то получает 1 к максимальному здоровью.
    /// </summary>
    public class Scavenger: FlagAffect {
        public override string Id {
            get { return "scavenger"; }
        }

        public override int BaseWeight {
            get { return 50; }
        }

        public override AffectIcon Icon {
            get { return AffectIcon.Scavenger; }
        }

        public override void SetAffect() {
            base.SetAffect();
            GlobalSummary.OnDeath += DoDeath;
        }
        public override void ResetAffect() {
            base.ResetAffect();
            GlobalSummary.OnDeath -= DoDeath;
        }

        private void DoDeath(AbstractObject obj) {
            Creature cr = obj as Creature;
            if (cr != null && cr != Owner && cr.Owner == Owner.Owner && cr.PlaceAfterDeath == CardPlace.Grave) {
                if (Owner.HealthToMax > 0)
                    Owner.HealBy(NewDamage(DamageType.Regeneration, 1));
                else
                    Owner.Summary.ChangeMaxHealth(1);
            }
        }
    }
}
